package org.lanqiao.tjut.action;

import java.util.List;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;

import org.lanqiao.tjut.bean.UserInfoBean;
import org.lanqiao.tjut.service.IUserInfoService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class UserInfoAction {
	// 注入Service
	@Resource
	private IUserInfoService userS;

	/**
	 * 进行添加或更新操作
	 * @param userB
	 * @return
	 */
	@RequestMapping("/insertAction")
	public String insert(UserInfoBean userB) {
		int i = userS.saveOrUpdate(userB);
		if (i > 0) {
			return "UserInfoManager/userInfoAddDetail";
		} else {
			// 新增失败，跳到错误提示页面
			return "error";
		}
	}

	@ResponseBody // 表示该方法是进行ajax响应处理
	@RequestMapping("/selectUserInfoByParams")
	public List<UserInfoBean> selectUserInfoByParams(UserInfoBean userB) {
		// 调用service进行数据库查询操作
		List<UserInfoBean> lstUserS = userS.selectUserInfoByParams(userB);
		return lstUserS;
	}

	/**
	 * 用户唯一性验证
	 * @param userName
	 * @param userAge
	 * @param userB
	 * @return false
	 */
	@ResponseBody // 表示该方法是进行ajax响应处理
	@RequestMapping("/isUserNameUniqueAction")
	public boolean isUserNameUniqueAction(String userName, String userAge, UserInfoBean userB) {
		// 调用service进行数据库查询操作
		System.out.println("用户姓名：" + userName);
		System.out.println("用户年龄：" + userAge);
		userS.selectUserInfoByParams(userB);
		return false;
	}

	/**
	 * 通过主键删除用户信息
	 * @param delIndex
	 * @param userB
	 * @return lstUserS
	 */
	@ResponseBody // 表示该方法是进行ajax响应处理
	@RequestMapping("/deleteByPrimaryKey")
	public List<UserInfoBean> deleteByPrimaryKey(String delIndex, UserInfoBean userB) {
		// 如果删除记录不为null，则进行删除操作
		if (delIndex != null && !delIndex.equals("")) {
			userS.deleteByPrimaryKey(delIndex);
		}
		// 调用service进行数据库查询操作
		List<UserInfoBean> lstUserS = userS.selectUserInfoByParams(userB);
		return lstUserS;

	}

	/**
	 * 通过用户Id查询用户信息
	 * @param sid
	 * @return
	 */
	@ResponseBody // 表示该方法是进行ajax响应处理
	@RequestMapping("/selectByPrimaryKey")
	public UserInfoBean selectByPrimaryKey(Short sid) {
		UserInfoBean lstUser = userS.selectByPrimaryKey(sid);
		return lstUser;
	}

	/**
	 * 加载模态框之后的修改路径
	 * @param request
	 * @param sid
	 * @param jp
	 * @return jp
	 */
	@RequestMapping("/DispatchModalModifyAction")
	public String DispatchModalModifyAction(HttpServletRequest request, String sid, String jp) {
		request.getSession().setAttribute("sid", sid);
		return jp;
	}
}